package com.ruoyi.common.core.domain.entity.system;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseOrder;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 小程序拼团订单子对象 sys_pintuan_children_order
 *
 * @author zjw
 * @date 2023-08-29
 */
public class SysPintuanChildrenOrder extends BaseOrder {
    private static final long serialVersionUID = 1L;


    /**
     * 当前拼团订单所属的父订单id
     */
    @Excel(name = "当前拼团订单所属的父订单id")
    private String parentOrderId;

    /**
     * 押金和订单费用合并支付的商户订单编号
     */
    @Excel(name = "押金和订单费用合并支付的商户订单编号")
    private String depositAndFeeOutOrderNo;

    /**
     * 押金和订单费用合并支付的微信订单编号
     */
    @Excel(name = "押金和订单费用合并支付的微信订单编号")
    private String depositAndFeeWxOrderNo;

    /**
     * 押金和订单费用合并支付的商户订单编号
     */
    @Excel(name = "押金和订单费用合并支付的商户订单编号")
    private String depositAndFeeOutRefundNo;

    /**
     * 押金和订单费用合并支付的微信订单编号
     */
    @Excel(name = "押金和订单费用合并支付的微信订单编号")
    private String depositAndFeeWxRefundNo;

    /**
     * 押金退款的商户退款单号
     */
    @Excel(name = "押金退款的商户退款单号")
    private String depositOutRefundNo;

    /**
     * 押金退款的微信退款单号
     */
    @Excel(name = "押金退款的微信退款单号")
    private String depositWxRefundNo;

    /**
     * 超时费用支付的商户订单编号
     */
    @Excel(name = "超时费用支付的商户订单编号")
    private String overtimeFeeOutOrderNo;

    /**
     * 超时费用支付的微信订单编号
     */
    @Excel(name = "超时费用支付的微信订单编号")
    private String overtimeFeeWxOrderNo;

    /**
     * 超时费用退款的商户退款单号
     */
    @Excel(name = "超时费用退款的商户退款单号")
    private String overtimeFeeOutRefundNo;

    /**
     * 超时费用退款的微信退款单号
     */
    @Excel(name = "超时费用退款的微信退款单号")
    private String overtimeFeeWxRefundNo;

    /**
     * 拼团类型id。默认为0。
     */
    @Excel(name = "拼团类型id。默认为0。")
    private Long pintuanId;

    /**
     * 拼团状态。0：拼团待启动，1：拼团中，2：拼团成功，3：拼团失败。
     */
    @Excel(name = "拼团状态。0：拼团待启动，1：拼团中，2：拼团成功，3：拼团失败。")
    private Integer pintuanStatus;

    /**
     * 拼团状态的文本描述。0：拼团待启动，1：拼团中，2：拼团成功，3：拼团失败。默认为拼团待启动状态，即0。
     */
    private String pintuanStatusDesc;

    /**
     * 当前拼团订单参与拼团的人数(一个用户可以同时添加多人参与拼团)。
     */
    @Excel(name = "当前拼团订单参与拼团的人数(一个用户可以同时添加多人参与拼团)。")
    private Integer pintuanPersonNum;

    /**
     * 当前拼团类型允许的最大拼团人数。
     */
    @Excel(name = "当前拼团类型允许的最大拼团人数。")
    private Integer pintuanAllowPersonNum;

    /**
     * 当前拼团类型包含的游玩时长，单位：分钟。
     */
    @Excel(name = "当前拼团类型包含的游玩时长，单位：分钟。")
    private Long pintuanDuration;

    /**
     * 当前拼团类型的价格(每人)，单位：元。
     */
    @Excel(name = "当前拼团类型的价格(每人)，单位：元。")
    private double pintuanPrice;

    /**
     * 当前拼团类型的押金(每人)，单位：元。
     */
    @Excel(name = "当前拼团类型的押金(每人)，单位：元。")
    private double pintuanDeposit;

    /**
     * 计时计费规则id。用于计算订单超时费用。
     */
    @Excel(name = "计时计费规则id。用于计算订单超时费用。")
    private Long jishiId;

    /**
     * 计时计费价格。单位：元。
     */
    @Excel(name = "计时计费价格。单位：元。")
    private double jishiPrice;

    /**
     * 计时计费计价单位，默认为0。(0: 元/分钟, 1: 元/30分钟, 2: 元/小时)
     */
    @Excel(name = "计时计费计价单位，默认为0。(0: 元/分钟, 1: 元/30分钟, 2: 元/小时)")
    private Integer jishiUnit;

    /**
     * 订单费用金额，单位：元。
     */
    @Excel(name = "订单费用金额，单位：元。")
    private double orderFee;

    /**
     * 订单费用支付状态。0：未支付，1：支付中，2：已支付，3：退款中，4: 退款失败，5：已退款
     */
    @Excel(name = "订单费用支付状态。0：未支付，1：支付中，2：已支付，3：退款中，4: 退款失败，5：已退款")
    private Integer feePayStatus;

    /**
     * 订单费用支付状态文本描述。0：未支付，1：支付中，2：已支付，3：退款中，4: 退款失败，5：已退款
     */
    @Excel(name = "订单费用支付状态文本描述。0：未支付，1：支付中，2：已支付，3：退款中，4: 退款失败，5：已退款")
    private String feePayStatusDesc;

    /**
     * 实际支付的订单费用金额，单位：元。
     */
    @Excel(name = "实际支付的订单费用金额，单位：元。")
    private double realPayFee;

    /**
     * 订单押金金额，单位：元。
     */
    @Excel(name = "订单押金金额，单位：元。")
    private double orderDeposit;

    /**
     * 订单押金支付状态。0：未支付，1：支付中，2：已支付，3：退款中，4: 退款失败，5：已退款
     */
    @Excel(name = "订单押金支付状态。0：未支付，1：支付中，2：已支付，3：退款中，4: 退款失败，5：已退款")
    private Integer depositPayStatus;

    /**
     * 订单押金支付状态文本描述。0：未支付，1：支付中，2：已支付，3：退款中，4: 退款失败，5：已退款
     */
    @Excel(name = "订单押金支付状态文本描述。0：未支付，1：支付中，2：已支付，3：退款中，4: 退款失败，5：已退款")
    private String depositPayStatusDesc;

    /**
     * 实际支付的订单押金金额，单位：元。
     */
    @Excel(name = "实际支付的订单押金金额，单位：元。")
    private double realPayDeposit;

    /**
     * 超时时长，单位：分钟。
     */
    @Excel(name = "超时时长，单位：分钟。")
    private Long overtime;

    /**
     * 超时费用金额，单位：元。
     */
    @Excel(name = "超时费用金额，单位：元。")
    private double overtimeFee;

    /**
     * 超时费用支付状态文本描述。0：未支付，1：支付中，2：已支付，3：退款中，4: 退款失败，5：已退款
     */
    @Excel(name = "超时费用支付状态文本描述。0：未支付，1：支付中，2：已支付，3：退款中，4: 退款失败，5：已退款")
    private Integer overtimeFeePayStatus;

    /**
     * 超时费用支付状态文本描述。0：未支付，1：支付中，2：已支付，3：退款中，4: 退款失败，5：已退款
     */
    @Excel(name = "超时费用支付状态文本描述。0：未支付，1：支付中，2：已支付，3：退款中，4: 退款失败，5：已退款")
    private String overtimeFeePayStatusDesc;

    /**
     * 实际支付的超时费用金额，单位：元。
     */
    @Excel(name = "实际支付的超时费用金额，单位：元。")
    private double realPayOvertimeFee;

    /**
     * 订单押金与费用的支付方式。0：未支付，1：微信支付，2：支付宝，3：银行卡。
     */
    @Excel(name = "订单押金与费用的支付方式。0：未支付，1：微信支付，2：支付宝，3：银行卡。")
    private Integer depositAndFeePayMethod;

    /**
     * 订单押金与费用的支付方式的文字描述。如：“微信支付”等。
     */
    @Excel(name = "订单押金与费用的支付方式的文字描述。如：“微信支付”等。")
    private String depositAndFeePayMethodDesc;

    /**
     * 订单押金与费用的支付的账户信息。如：“微信零钱支付”，“工行信用卡0755”等。
     */
    @Excel(name = "订单押金与费用的支付的账户信息。如：“微信零钱支付”，“工行信用卡0755”等。")
    private String depositAndFeePayAccountInfo;

    /**
     * 超时费用的支付方式。0：未支付，1：微信支付，2：支付宝，3：银行卡。
     */
    @Excel(name = "超时费用的支付方式。0：未支付，1：微信支付，2：支付宝，3：银行卡。")
    private Integer overtimeFeePayMethod;

    /**
     * 超时费用支付方式的文字描述。如：“微信支付”等。
     */
    @Excel(name = "超时费用支付方式的文字描述。如：“微信支付”等。")
    private String overtimeFeePayMethodDesc;

    /**
     * 超时费用支付的账户信息。如：“微信零钱支付”，“工行信用卡0755”等。
     */
    @Excel(name = "超时费用支付的账户信息。如：“微信零钱支付”，“工行信用卡0755”等。")
    private String overtimeFeePayAccountInfo;

    /**
     * 订单总金额(订单费用+押金)，单位：元。
     */
    @Excel(name = "订单总金额(订单费用+押金)，单位：元。")
    private double orderTotalPrice;

    /**
     * 用户已实际支付的订单总金额(订单费用+押金)，单位：分。
     */
    @Excel(name = "用户已实际支付的订单总金额(订单费用+押金)，单位：分。")
    private double realPayTotalPrice;

    /**
     * 退款金额，单位：元。
     */
    @Excel(name = "退款金额，单位：元。")
    private double refundAmount;

    /**
     * 退款文本描述，示例：用户超时未上船，系统主动退款。
     */
    @Excel(name = "退款文本描述，示例：用户超时未上船，系统主动退款。")
    private String refundDesc;

    /**
     * 退款失败原因。
     */
    @Excel(name = "退款失败原因。")
    private String refundFailReason;

    /**
     * 扫码上船状态。0：未完成扫码上船，1：已完成扫码上船。
     */
    private int onBoatStatus;
    /**
     * 拼团剩余时长。
     */
    private Long pintuanRemainTime;

    public Long getPintuanRemainTime() {
        return pintuanRemainTime;
    }

    public void setPintuanRemainTime(Long pintuanRemainTime) {
        this.pintuanRemainTime = pintuanRemainTime;
    }

    public String getPintuanStatusDesc() {
        return pintuanStatusDesc;
    }

    public void setPintuanStatusDesc(String pintuanStatusDesc) {
        this.pintuanStatusDesc = pintuanStatusDesc;
    }

    public int getOnBoatStatus() {
        return onBoatStatus;
    }

    public void setOnBoatStatus(int onBoatStatus) {
        this.onBoatStatus = onBoatStatus;
    }

    public String getDepositAndFeeOutRefundNo() {
        return depositAndFeeOutRefundNo;
    }

    public void setDepositAndFeeOutRefundNo(String depositAndFeeOutRefundNo) {
        this.depositAndFeeOutRefundNo = depositAndFeeOutRefundNo;
    }

    public String getDepositAndFeeWxRefundNo() {
        return depositAndFeeWxRefundNo;
    }

    public void setDepositAndFeeWxRefundNo(String depositAndFeeWxRefundNo) {
        this.depositAndFeeWxRefundNo = depositAndFeeWxRefundNo;
    }

    public void setParentOrderId(String parentOrderId) {
        this.parentOrderId = parentOrderId;
    }

    public String getParentOrderId() {
        return parentOrderId;
    }

    public void setDepositAndFeeOutOrderNo(String depositAndFeeOutOrderNo) {
        this.depositAndFeeOutOrderNo = depositAndFeeOutOrderNo;
    }

    public String getDepositAndFeeOutOrderNo() {
        return depositAndFeeOutOrderNo;
    }

    public void setDepositAndFeeWxOrderNo(String depositAndFeeWxOrderNo) {
        this.depositAndFeeWxOrderNo = depositAndFeeWxOrderNo;
    }

    public String getDepositAndFeeWxOrderNo() {
        return depositAndFeeWxOrderNo;
    }

    public void setDepositOutRefundNo(String depositOutRefundNo) {
        this.depositOutRefundNo = depositOutRefundNo;
    }

    public String getDepositOutRefundNo() {
        return depositOutRefundNo;
    }

    public void setDepositWxRefundNo(String depositWxRefundNo) {
        this.depositWxRefundNo = depositWxRefundNo;
    }

    public String getDepositWxRefundNo() {
        return depositWxRefundNo;
    }

    public void setOvertimeFeeOutOrderNo(String overtimeFeeOutOrderNo) {
        this.overtimeFeeOutOrderNo = overtimeFeeOutOrderNo;
    }

    public String getOvertimeFeeOutOrderNo() {
        return overtimeFeeOutOrderNo;
    }

    public void setOvertimeFeeWxOrderNo(String overtimeFeeWxOrderNo) {
        this.overtimeFeeWxOrderNo = overtimeFeeWxOrderNo;
    }

    public String getOvertimeFeeWxOrderNo() {
        return overtimeFeeWxOrderNo;
    }

    public void setOvertimeFeeOutRefundNo(String overtimeFeeOutRefundNo) {
        this.overtimeFeeOutRefundNo = overtimeFeeOutRefundNo;
    }

    public String getOvertimeFeeOutRefundNo() {
        return overtimeFeeOutRefundNo;
    }

    public void setOvertimeFeeWxRefundNo(String overtimeFeeWxRefundNo) {
        this.overtimeFeeWxRefundNo = overtimeFeeWxRefundNo;
    }

    public String getOvertimeFeeWxRefundNo() {
        return overtimeFeeWxRefundNo;
    }

    public void setPintuanId(Long pintuanId) {
        this.pintuanId = pintuanId;
    }

    public Long getPintuanId() {
        return pintuanId;
    }

    public void setPintuanStatus(Integer pintuanStatus) {
        this.pintuanStatus = pintuanStatus;
    }

    public Integer getPintuanStatus() {
        return pintuanStatus;
    }

    public void setPintuanPersonNum(Integer pintuanPersonNum) {
        this.pintuanPersonNum = pintuanPersonNum;
    }

    public Integer getPintuanPersonNum() {
        return pintuanPersonNum;
    }

    public void setPintuanAllowPersonNum(Integer pintuanAllowPersonNum) {
        this.pintuanAllowPersonNum = pintuanAllowPersonNum;
    }

    public Integer getPintuanAllowPersonNum() {
        return pintuanAllowPersonNum;
    }

    public void setPintuanDuration(Long pintuanDuration) {
        this.pintuanDuration = pintuanDuration;
    }

    public Long getPintuanDuration() {
        return pintuanDuration;
    }

    public void setPintuanPrice(double pintuanPrice) {
        this.pintuanPrice = pintuanPrice;
    }

    public double getPintuanPrice() {
        return pintuanPrice;
    }

    public void setPintuanDeposit(double pintuanDeposit) {
        this.pintuanDeposit = pintuanDeposit;
    }

    public double getPintuanDeposit() {
        return pintuanDeposit;
    }

    public void setJishiId(Long jishiId) {
        this.jishiId = jishiId;
    }

    public Long getJishiId() {
        return jishiId;
    }

    public void setJishiPrice(double jishiPrice) {
        this.jishiPrice = jishiPrice;
    }

    public double getJishiPrice() {
        return jishiPrice;
    }

    public void setJishiUnit(Integer jishiUnit) {
        this.jishiUnit = jishiUnit;
    }

    public Integer getJishiUnit() {
        return jishiUnit;
    }

    public void setOrderFee(double orderFee) {
        this.orderFee = orderFee;
    }

    public double getOrderFee() {
        return orderFee;
    }

    public void setFeePayStatus(Integer feePayStatus) {
        this.feePayStatus = feePayStatus;
    }

    public Integer getFeePayStatus() {
        return feePayStatus;
    }

    public void setFeePayStatusDesc(String feePayStatusDesc) {
        this.feePayStatusDesc = feePayStatusDesc;
    }

    public String getFeePayStatusDesc() {
        return feePayStatusDesc;
    }

    public void setRealPayFee(double realPayFee) {
        this.realPayFee = realPayFee;
    }

    public double getRealPayFee() {
        return realPayFee;
    }

    public void setOrderDeposit(double orderDeposit) {
        this.orderDeposit = orderDeposit;
    }

    public double getOrderDeposit() {
        return orderDeposit;
    }

    public void setDepositPayStatus(Integer depositPayStatus) {
        this.depositPayStatus = depositPayStatus;
    }

    public Integer getDepositPayStatus() {
        return depositPayStatus;
    }

    public void setDepositPayStatusDesc(String depositPayStatusDesc) {
        this.depositPayStatusDesc = depositPayStatusDesc;
    }

    public String getDepositPayStatusDesc() {
        return depositPayStatusDesc;
    }

    public void setRealPayDeposit(double realPayDeposit) {
        this.realPayDeposit = realPayDeposit;
    }

    public double getRealPayDeposit() {
        return realPayDeposit;
    }

    public void setOvertime(Long overtime) {
        this.overtime = overtime;
    }

    public Long getOvertime() {
        return overtime;
    }

    public void setOvertimeFee(double overtimeFee) {
        this.overtimeFee = overtimeFee;
    }

    public double getOvertimeFee() {
        return overtimeFee;
    }

    public void setOvertimeFeePayStatus(Integer overtimeFeePayStatus) {
        this.overtimeFeePayStatus = overtimeFeePayStatus;
    }

    public Integer getOvertimeFeePayStatus() {
        return overtimeFeePayStatus;
    }

    public void setOvertimeFeePayStatusDesc(String overtimeFeePayStatusDesc) {
        this.overtimeFeePayStatusDesc = overtimeFeePayStatusDesc;
    }

    public String getOvertimeFeePayStatusDesc() {
        return overtimeFeePayStatusDesc;
    }

    public void setRealPayOvertimeFee(double realPayOvertimeFee) {
        this.realPayOvertimeFee = realPayOvertimeFee;
    }

    public double getRealPayOvertimeFee() {
        return realPayOvertimeFee;
    }

    public void setDepositAndFeePayMethod(Integer depositAndFeePayMethod) {
        this.depositAndFeePayMethod = depositAndFeePayMethod;
    }

    public Integer getDepositAndFeePayMethod() {
        return depositAndFeePayMethod;
    }

    public void setDepositAndFeePayMethodDesc(String depositAndFeePayMethodDesc) {
        this.depositAndFeePayMethodDesc = depositAndFeePayMethodDesc;
    }

    public String getDepositAndFeePayMethodDesc() {
        return depositAndFeePayMethodDesc;
    }

    public void setDepositAndFeePayAccountInfo(String depositAndFeePayAccountInfo) {
        this.depositAndFeePayAccountInfo = depositAndFeePayAccountInfo;
    }

    public String getDepositAndFeePayAccountInfo() {
        return depositAndFeePayAccountInfo;
    }

    public void setOvertimeFeePayMethod(Integer overtimeFeePayMethod) {
        this.overtimeFeePayMethod = overtimeFeePayMethod;
    }

    public Integer getOvertimeFeePayMethod() {
        return overtimeFeePayMethod;
    }

    public void setOvertimeFeePayMethodDesc(String overtimeFeePayMethodDesc) {
        this.overtimeFeePayMethodDesc = overtimeFeePayMethodDesc;
    }

    public String getOvertimeFeePayMethodDesc() {
        return overtimeFeePayMethodDesc;
    }

    public void setOvertimeFeePayAccountInfo(String overtimeFeePayAccountInfo) {
        this.overtimeFeePayAccountInfo = overtimeFeePayAccountInfo;
    }

    public String getOvertimeFeePayAccountInfo() {
        return overtimeFeePayAccountInfo;
    }

    public void setOrderTotalPrice(double orderTotalPrice) {
        this.orderTotalPrice = orderTotalPrice;
    }

    public double getOrderTotalPrice() {
        return orderTotalPrice;
    }

    public void setRealPayTotalPrice(double realPayTotalPrice) {
        this.realPayTotalPrice = realPayTotalPrice;
    }

    public double getRealPayTotalPrice() {
        return realPayTotalPrice;
    }

    public void setRefundAmount(double refundAmount) {
        this.refundAmount = refundAmount;
    }

    public double getRefundAmount() {
        return refundAmount;
    }

    public void setRefundDesc(String refundDesc) {
        this.refundDesc = refundDesc;
    }

    public String getRefundDesc() {
        return refundDesc;
    }

    public void setRefundFailReason(String refundFailReason) {
        this.refundFailReason = refundFailReason;
    }

    public String getRefundFailReason() {
        return refundFailReason;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("orderId", getOrderId())
                .append("parentOrderId", getParentOrderId())
                .append("scenicId", getScenicId())
                .append("scenicName", getScenicName())
                .append("wharfId", getWharfId())
                .append("wharfName", getWharfName())
                .append("boatId", getBoatId())
                .append("boatCode", getBoatCode())
                .append("onBoatStatus", getOnBoatStatus())
                .append("depositAndFeeOutOrderNo", getDepositAndFeeOutOrderNo())
                .append("depositAndFeeWxOrderNo", getDepositAndFeeWxOrderNo())
                .append("depositOutRefundNo", getDepositOutRefundNo())
                .append("depositWxRefundNo", getDepositWxRefundNo())
                .append("overtimeFeeOutOrderNo", getOvertimeFeeOutOrderNo())
                .append("overtimeFeeWxOrderNo", getOvertimeFeeWxOrderNo())
                .append("overtimeFeeOutRefundNo", getOvertimeFeeOutRefundNo())
                .append("overtimeFeeWxRefundNo", getOvertimeFeeWxRefundNo())
                .append("orderType", getOrderType())
                .append("orderDesc", getOrderDesc())
                .append("orderStatus", getOrderStatus())
                .append("orderStatusDesc", getOrderStatusDesc())
                .append("pintuanId", getPintuanId())
                .append("pintuanStatus", getPintuanStatus())
                .append("pintuanPersonNum", getPintuanPersonNum())
                .append("pintuanAllowPersonNum", getPintuanAllowPersonNum())
                .append("pintuanDuration", getPintuanDuration())
                .append("pintuanPrice", getPintuanPrice())
                .append("pintuanDeposit", getPintuanDeposit())
                .append("jishiId", getJishiId())
                .append("jishiPrice", getJishiPrice())
                .append("jishiUnit", getJishiUnit())
                .append("orderFee", getOrderFee())
                .append("feePayStatus", getFeePayStatus())
                .append("feePayStatusDesc", getFeePayStatusDesc())
                .append("realPayFee", getRealPayFee())
                .append("orderDeposit", getOrderDeposit())
                .append("depositPayStatus", getDepositPayStatus())
                .append("depositPayStatusDesc", getDepositPayStatusDesc())
                .append("realPayDeposit", getRealPayDeposit())
                .append("overtime", getOvertime())
                .append("overtimeFee", getOvertimeFee())
                .append("overtimeFeePayStatus", getOvertimeFeePayStatus())
                .append("overtimeFeePayStatusDesc", getOvertimeFeePayStatusDesc())
                .append("realPayOvertimeFee", getRealPayOvertimeFee())
                .append("depositAndFeePayMethod", getDepositAndFeePayMethod())
                .append("depositAndFeePayMethodDesc", getDepositAndFeePayMethodDesc())
                .append("depositAndFeePayAccountInfo", getDepositAndFeePayAccountInfo())
                .append("overtimeFeePayMethod", getOvertimeFeePayMethod())
                .append("overtimeFeePayMethodDesc", getOvertimeFeePayMethodDesc())
                .append("overtimeFeePayAccountInfo", getOvertimeFeePayAccountInfo())
                .append("orderTotalPrice", getOrderTotalPrice())
                .append("realPayTotalPrice", getRealPayTotalPrice())
                .append("refundAmount", getRefundAmount())
                .append("refundDesc", getRefundDesc())
                .append("refundFailReason", getRefundFailReason())
                .append("userId", getUserId())
                .append("realDuration", getRealDuration())
                .append("createTime", getCreateTime())
                .append("beginTime", getBeginTime())
                .append("endTime", getEndTime())
                .append("closedTime", getClosedTime())
                .append("remark", getRemark())
                .toString();
    }
}
